home *** CD-ROM | disk | FTP | other *** search
- ;******************************************************************
- ;
- ; KERMIT385-APPLE-CAT DRIVER - APP385.CA
- ;
- ; 9/05/90 V1.2
- ;
- ; LST OFF,NOASYM
- ;
- ; DICK WOTIZ
- ;
- ; DICK@PORTAL.COM,
- ; {UUNET|SUN}!PORTAL!DICK
- ;
- ;
- ; THIS DRIVER IS FOR THE NOVATION APPLE-CAT II INTERNAL MODEM.
- ;
- ;
- ; FEATURES:
- ;
- ; USES THE MODEM'S FIRMWARE ROM FOR DIALING.
- ; TYPE ';' FOR 2-SECOND PAUSE, OR ANY CONTROL CHARACTER TO ABORT.
- ; ROM NOT NEEDED IF EXTERNAL PHONE IS USED FOR DIALING.
- ;
- ; SUPPORTS 110-600 BAUD, AND 45.5 BAUD (USE KERMIT'S 135 BAUD SETTING)
- ; SUPPORTS 1200 BAUD WITH APPLE-CAT 212 CARD, IN SLOT-SAVER CONFIGURATION.
- ;
- ; ALLOWS USE OF EXTERNAL SERIAL PORT BY TYPING 'X' AS DIALING STRING.
- ;
- ;******************************************************************
- ;
- ;
- ;
- ;
- ; $Header: appcat.m65,v 1.2 89/11/06 11:40:36 medin Locked $
- ; $log$
- ;--->>>>> dont forget to update the version <<<<<---
-
- ORG $1005
- DW HDRMSG ;DRIVER NAME POINTER
- ;
- ORG $100C
- DW BUFEND ;BUFFER END POINTER
- ORG $1020
- ;
- JMP INIT ;MODEM CONTROL VECTORS
- JMP COMCMD
- JMP CHKRECV
- JMP RCVBYTE
- JMP XMTBYTE
- JMP HANGUP
- ;
- ORG $7f00 ;[1.2]
- ;
- MSB ON
- ;
- ACC EQU $45 ;APPLE STUFF
- IN EQU $200
- IRQLOC EQU $3FE
- ;
- BAUD EQU $1003 ;KERMIT STUFF
- SLOTN0 EQU $1007
- INITFLG EQU $1008
- DRVRADR EQU $1009
- FLAGS EQU $100B
- BRKLEN EQU $100E
- REFRFLG EQU $1011 ;[1.2]
- DELAY EQU $1040
- PRMSG EQU $1043
- GETKEY EQU $1046
- PRCR EQU $1049
- DOPARITY EQU $104F
- CLREOL EQU $1084
- ;
- KEYBD EQU $C000 ;APPLE I/O STUFF
- SETSTDZP EQU $C008
- SETALTZP EQU $C009
- KRESET EQU $C010
- RDLCBNK2 EQU $C011
- RDLCRAM EQU $C012
- RDALTZP EQU $C016
- WRRAM2 EQU $C081
- ;
- MVIDLO EQU $478 ;MODEM ROM DIALING STUFF
- MVIDHI EQU $4F8
- MN0SAVE EQU $6F8
- MASAVE EQU $778
- MCNSAVE EQU $7F8
- ;
- SWBYT EQU $C080 ;MODEM I/O STUFF
- DACBYT EQU $C080
- SQUBYT EQU $C081
- SHBYT EQU $C082
- BSRBYT EQU $C083
- RECBYT EQU $C089
- CON EQU $C08A
- INDAT EQU $C08B
- SPDBYT EQU $C08B
- COM EQU $C08C
- ACBYT EQU $C08D
- XMTBYT EQU $C08D
- OUTDAT EQU $C08E
- STATUS EQU $C08F
- DEVBYT EQU $C08F
- ;
- DFBC0 EQU $FBC0 ;APPLE ROM STUFF
- WAIT EQU $FCA8
- PRBYTE EQU $FDDA
- COUT EQU $FDED
- ROMIRQ EQU $FFFE
- ;
- ;
- PGMBEG EQU *
- ;
- DFB $90,$09,$05,$D2,$C1,$D7 ;ID STRING
- ;
- RBUFIXW DFB 0 ;RECV BUF WRITE INDEX
- RBUFIXR DFB 0 ;RECV BUF READ INDEX
- XBUFIXW DFB 0 ;XMIT BUF WRITE INDEX
- XBUFIXR DFB 0 ;XMIT BUF READ INDEX
- IRQSAVE DW 0 ;OLD IRQ VECTOR
- STOPACK DFB 0 ;^S FLAGS
- STOPREQ DFB 0 ; "
- DLYCNT DFB 0 ;DELAY COUNTER
- XMTSAV DFB 0
- SLOTN DFB 0 ;SLOT NUMBER
- XSAVE DFB 0
- CARRDLY DFB 0 ;CARRIER DROP DELAY COUNT
- CARRFLG DFB 0 ;CARRIER DET FLAG
- MDMFLAG DFB 0 ;MODEM INITTED FLAG
- EXTFLAG DFB 0 ;EXTERNAL PORT FLAG
- ;
- INTBITS DFB $02 ;MODEM REGISTER BITS
- RDRFBIT DFB $08
- ;
- HDRMSG nasc <CAT V1.2> 0 ;[1.2]
- DFB 0
- MSGS EQU *
- ADRMSG nasc <COM RTN ASM > 0
- nasc <TOO LOW> 0
- DFB $8D,0
- CMDMSG DFB $3C
- nasc <- BAD COM CMD> 0
- DFB $8D,0
- DIALMSG nasc <DIAL/X:> 0
- DFB 0
- WAITMSG DFB $8D ;[1.2]
- nasc <WAITING> 0
- DFB $8D,0
- CONNMSG nasc <CONNECT> 0
- DFB $87,$8D,0
- HANGMSG DFB $8D
- nasc <HUNG UP> 0
- DFB $8D,0
- ;
- ;
- FALSINT PLA
- TAX
- JMPLOC JMP (IRQSAVE)
- ;
- ;
- IRQVEC1 TXA ;NORMAL VECTOR
- PHA
- IRQVEC2 LDA STATUS ;ENH IIE VECTOR
- ADDR1 EQU *-2
- BIT INTBITS ;MODEM IRQ?
- BEQ FALSINT ;NO, BR
- BIT RDRFBIT ;RDRF?
- BEQ FALSINT ;NO, BR
- AND #$40 ;FRAMING ERR?
- BEQ RECVOK ;NO, BR
- LDA #'+$80
- BNE RECV2
- RECVOK LDA INDAT
- ADDR2 EQU *-2
- RECV2 LDX RBUFIXR
- STA RECVBUF,X ;SAVE BYTE
- RBUFIXH EQU *-1
- PHA
- LDA XMTSAV
- STA XMTBYT ;RESET RDRF, IRQ
- ADDR3 EQU *-2
- PLA
- BIT FLAGS ;CHECK FOR FLOW?
- BPL L7BCC ;NO, BR
- AND #$7F
- CMP #$11 ;^Q?
- BNE L7BBA ;NO, BR
- LDA #$BF
- AND FLAGS ;CLEAR ^S FLAG
- BCS L7BBF ;BR ALWAYS
- ;
- L7BBA CMP #$13 ;^S?
- BNE L7BCC ;NO, BR
- LDA #$40
- ORA FLAGS
- L7BBF STA FLAGS ;SET ^S FLAG
- BCS INTRET ;BR ALWAYS
- ;
- L7BCC INC RBUFIXR ;INCR RECV BUFPTR
- BNE INTRET
- LDX RBUFIXH
- INX
- CPX #XMITBUF^
- BNE L7BDB
- LDX #RECVBUF^
- L7BDB STX RBUFIXH
- INTRET PLA
- TAX
- LDA ACC
- RTILOC RTI
- ;
- ;
- ;
- INIT SEI
- LDA IRQSAVE+1 ;ALREADY INITTED?
- BNE INITTED ;YES, BR
- LDA IRQLOC
- STA IRQSAVE ;SAVE IRQ ADDR
- LDA IRQLOC+1
- STA IRQSAVE+1
- LDA #PGMBEG^
- CMP DRVRADR+1 ;START ADDR OK?
- BCC INIT3
- BNE INITOK ;YES, BR
- INIT2 LDA DRVRADR
- BEQ INITOK
- INIT3 LDX #ADRMSG\
- JSR PRMSGY
- LDA #0
- INITTED CLI
- RTS
- ;
- INITOK EQU *
- ;
- LDA DFBC0 ;SAVE ACCUM. DURING IRQ?
- BEQ NOSAVE ;NO, BR (NOT IIE)
- CMP #$E0
- BNE NOTENH2
- NOSAVE LDA RTILOC
- STA INTRET
- LDA #IRQVEC2\
- STA IRQLOC
- LDA #IRQVEC2^
- STA IRQLOC+1
- LDX #0
- NOSAVLP LDA JMPLOC,X
- STA FALSINT,X
- INX
- CPX #$03
- BNE NOSAVLP
- LDX #$00
- BIT RDLCBNK2
- BMI NOSAV2
- LDX #$08
- NOSAV2 BIT RDLCRAM
- BPL NOSAV3
- INX
- INX
- NOSAV3 BIT WRRAM2 ;READ ROM, WRITE RAM
- BIT WRRAM2
- DFB $DA ;PHX
- LDA RDALTZP
- ASL A
- LDY #$01
- NOSAVL2 LDA ROMIRQ,Y ;COPY IRQ VECTOR
- STA SETALTZP ;INTO BOTH BANKS
- STA ROMIRQ,Y
- STA SETSTDZP
- STA ROMIRQ,Y
- DEY
- BPL NOSAVL2
- BCC NOSAV4
- STA SETALTZP
- NOSAV4 DFB $FA ;PLX
- DFB $3C
- DW WRRAM2 ;BIT WRRAM2,X
- DFB $3C
- DW WRRAM2 ;BIT WRRAM2,X
- JMP INITPTR
- ;
- NOTENH2 LDA #IRQVEC1\
- STA IRQLOC
- LDA #IRQVEC1^
- STA IRQLOC+1
- INITPTR LDA #$00
- STA RBUFIXW ;INIT POINTERS
- STA RBUFIXR
- STA XBUFIXW
- STA XBUFIXR
- LDA #RECVBUF^
- STA RBUFIXH
- STA RCVADRH
- LDX SLOTN0
- TXA
- LSR A
- LSR A
- LSR A
- LSR A
- STA SLOTN
- ;
- CLC
- TXA
- ADC #SWBYT\
- STA ADDR8 ;SELF-MODIFYING CODE... YECCHH!!!
- ;[1.2] TXA
- ;[1.2] ADC #INDAT\
- ADC #INDAT-SWBYT [1.2]
- STA ADDR2
- ;[1.2] TXA
- ;[1.2] ADC #COM\
- ADC #COM-INDAT [1.2]
- STA ADDR12
- STA ADDR13
- ;[1.2] TXA
- ;[1.2] ADC #XMTBYT\
- ADC #XMTBYT-COM [1.2]
- STA ADDR3
- STA ADDR11
- ;[1.2] TXA
- ;[1.2] ADC #ACBYT\
- STA ADDR9
- STA ADDR10
- ;[1.2] TXA
- ;[1.2] ADC #OUTDAT\
- ADC #OUTDAT-XMTBYT [1.2]
- STA ADDR5
- STA ADDR7
- ;[1.2] TXA
- ;[1.2] ADC #STATUS\
- ADC #STATUS-OUTDAT [1.2]
- STA ADDR1
- STA ADDR4
- STA ADDR6
- ;
- LDA #0 ;INIT MODEM
- STA SHBYT,X ;HANG UP PHONE
- STA DACBYT,X
- STA EXTFLAG
- STA REFRFLG ;DON'T REDRAW SCREEN [1.2]
- LDA #$06
- STA BSRBYT,X
- JSR SETREC
- LDA #$0C
- STA COM,X
- ;
- DIAL LDX #DIALMSG\
- JSR PRMSGY
- ;
- LDA #$A0
- LDX #0
- DGETNXT STX XSAVE
- JSR COUT
- DGETNX2 JSR GETKEY ;GET PHONE NUMBER
- ORA #$80
- LDX XSAVE
- STA IN,X ;SAVE IT IN BUFFER
- INX
- CMP #$88
- BNE NOBS
- DEX
- BEQ DGETNX2
- DEX
- JMP DGETNXT
- NOBS CMP #$8D
- BEQ DGETOK
- CMP #$A0
- BCS NOESC
- JSR HANGUP
- LDA #0
- RTS
- NOESC CPX #80
- BNE DGETNXT
- DEX
- LDA #$87
- BNE DGETNXT
- ;
- ;[1.1]DGETOK JSR CLREOL
- DGETOK ;[1.1]
- JSR PRCR
- LDA IN ;GET FIRST CHAR
- ;[1.1] CMP #$58 ;'X'=EXTERNAL PORT?
- ;[1.2] CMP #'x+$80 ;[1.1] 'X'=EXTERNAL PORT?
- ;[1.2] BEQ DEXT ;YES, BR
- ;[1.1] CMP #$78
- AND #$DF ;[1.2]
- CMP #'X+$80 ;[1.1] try both cases
- BNE DNOEXT
- ;DEXT LDA #$FF ;[1.2]
- STA EXTFLAG
- ;[1.2] BNE DIALEN2
- BEQ DIALEN2 ;[1.2]
- DNOEXT LDX SLOTN
- LDA #RTS1-1\
- STA MVIDLO,X ;SET VIDOUT ADDR
- LDA #RTS1-1^
- STA MVIDHI,X
- ;
- TXA
- ORA #$C0 ;SLOTCN
- STA ADDRD
- ;
- LDX SLOTN0
- LDA #$18
- STA XMTBYT,X ;TURN OFF XMIT
- LDA #$02
- STA SHBYT,X ;PICK UP PHONE
- LDA #$A3
- STA SQUBYT,X ;TURN ON SPKR
- ;
- JSR WAIT3
- ;
- LDA #'T+$80 ;SELECT TONE DIALING
- JSR DIALCH
- LDA #';+$80 ;DELAY 2 SECONDS
- JSR DIALCH
- ;
- LDX #0
- DIALLP LDA IN,X
- CMP #$8D
- BEQ DIALEND
- STX XSAVE
- JSR DIALCH ;DIAL THE DIGIT
- LDX XSAVE
- INX
- CPX #80
- BNE DIALLP
- ;
- DIALEND JSR WAIT3 ;WAIT A BIT
- ;[1.2] LDX #WAITMSG\
- ;[1.2] JSR PRMSGY ;DISPLAY 'WAITING' MESSAGE
- ;
- DIALEN2 LDA #$05
- STA COM
- ADDR13 EQU *-2
- ;
- LDA #1
- STA CARRFLG ;SET DIALED FLAG
- ;
- RTS1 RTS
- ;
- ;
- WAIT3 LDA #0
- JSR WAIT
- JSR WAIT
- JMP WAIT
- ;
- ;
- DIALCH ORA #$80
- CMP #'*+$80 ;CONVERT '*' CHAR
- BNE DIALCH1
- LDA #':+$80
- DIALCH1 CMP #';+$80 ;CONVERT PAUSE CHAR
- BNE DIALCH2
- LDA #'*+$80
- DIALCH2 STA MASAVE
- LDX ADDRD ;SLOTCN
- STX MCNSAVE
- LDY SLOTN0
- STY MN0SAVE
- BIT $CFFF
- LDA $FF00 ;ENABLE CARD ROM
- ADDRD EQU *-1
- CMP #$38 ;ROM INSTALLED?
- BNE NOROM ;NO, BR
- LDA MASAVE ;GET BACK CHAR
- JSR $CC0A ;CALL DIALING SUBR
- NOROM BIT $CFFF ;DISABLE CARD ROM
- RTS
- ;
- ;
- CHKCARR LDA CARRFLG ;LOOK FOR CARRIER?
- BMI CARRRTS ;NO, BR
- LDA EXTFLAG
- BNE CEXT
- LDA BAUD
- CMP #8 ;300 BAUD?
- BCS C1200 ;NO, BR
- LDA SWBYT
- ADDR8 EQU *-2
- AND #$20
- BCC CARRBR ;BR ALWAYS
- ;
- C1200 LDA ACBYT ;CHECK 1200 BAUD
- ADDR9 EQU *-2
- AND #$04
- BCS CARRBR ;BR ALWAYS
- ;
- CEXT LDA ACBYT ;CHECK EXTERNAL PORT
- ADDR10 EQU *-2
- AND #$08
- CARRBR BEQ NOCARR
- ;
- HAVCARR LDA CARRFLG ;HAD CARRIER BEFORE?
- BEQ CARRRTS ;YES, BR
- LDA #0
- STA CARRFLG ;SET FLAGS
- STA CARRDLY
- LDA XMTSAV
- STA XMTBYT ;ENABLE MODEM XMITTER
- ADDR11 EQU *-2
- LDA #$06
- STA COM ;ENABLE RECV IRQ
- ADDR12 EQU *-2
- ;
- STX XSAVE
- JSR SETBAUD
- ;
- LDX #CONNMSG\
- JSR PRMSGY ;PRINT MESSAGE
- ;
- LDX XSAVE
- ;
- LDA #0
- CARRRTS RTS
- ;
- NOCARR LDA CARRFLG ;HAD CARRIER BEFORE?
- ;[1.2] BNE CARRRTS ;NO, BR
- BEQ NOCARR1 ;YES, BR [1.2]
- CMP #1 ;WAIT MESSAGE ALREADY DISPLAYED? [1.2]
- BNE CARRRTS ;YES, BR [1.2]
- STX XSAVE [1.2]
- LDX #WAITMSG\ [1.2]
- JSR PRMSGY ;DISPLAY 'WAITING' MESSAGE [1.2]
- LDX XSAVE [1.2]
- INC CARRFLG [1.2]
- RTS [1.2]
- ;
- NOCARR1 LDA #25
- JSR WAIT
- DEC CARRDLY ;WAITED LONG ENOUGH?
- BNE CARRRTS ;NO, BR
- JMP HANGUP ;YES, HANG UP
- ;
- ;
- CHKRECV JSR CHKCARR ;HAVE CARRIER?
- BEQ CHKRCV1 ;YES, BR
- LDA #0
- BEQ CHKRRTS
- CHKRCV1 JSR CHKXMIT ;CHECK XMIT BUFFER
- SEI
- LDA RBUFIXW
- CMP RBUFIXR ;RECV BUFFER EMPTY?
- BNE CHKRCV2 ;NO, BR
- LDA RBUFIXH
- CMP RCVADRH
- CHKRCV2 CLI
- CHKRRTS RTS
- ;
- ;
- RCVBYTE JSR CHKXMIT
- SEI
- LDX RBUFIXW
- LDA RECVBUF,X ;GET A BYTE
- RCVADRH EQU *-1
- INC RBUFIXW ;UPDATE POINTER
- BNE RCVBYT3
- LDY RCVADRH
- INY
- CPY #XMITBUF^
- BNE RCVBYT2
- LDY #RECVBUF^
- RCVBYT2 STY RCVADRH
- RCVBYT3 CLI
- RTS
- ;
- ;
- XMTBYTE SEI
- LDX XBUFIXW
- STA XMITBUF,X ;SAVE BYTE IN XMIT BUFFER
- INC XBUFIXW
- CLI
- ;
- CHKXMIT SEI
- LDA STATUS
- ADDR4 EQU *-2
- AND #$10 ;TDRE ON?
- BEQ CXRET ;NO, BR
- BIT FLAGS ;WAITING ON ^S?
- BPL NOCTRLS ;IGNORE ^S, BR
- BVS CXRET ;^S RECV'D, BR
- LDA STOPREQ ;READY TO STOP?
- BEQ CHKXMT2 ;NO, BR
- LDA STOPACK ;STOPPED?
- BNE NOCTRLS ;YES, BR
- LDA #$13 ;SEND ^S
- STA STOPACK
- BNE SENDSQ
- CHKXMT2 LDA STOPACK ;STOPPED?
- BEQ NOCTRLS ;NO, BR
- LDA #$00
- STA STOPREQ
- STA STOPACK
- LDA #$11 ;SEND ^Q
- SENDSQ JSR DOPARITY
- JMP SENDIT
- ;
- NOCTRLS LDA XBUFIXW ;BUFFER EMPTY?
- CMP XBUFIXR
- BEQ CXRET ;YES, BR
- LDX XBUFIXR
- LDA XMITBUF,X
- INC XBUFIXR
- SENDIT STA OUTDAT ;XMIT NEXT BYTE
- ADDR5 EQU *-2
- ;
- CXRET CLI
- RTS
- ;
- ;
- HANGUP SEI
- LDA IRQSAVE+1 ;INITTED?
- BEQ HANGUP2 ;NO, BR
- LDA IRQSAVE
- STA IRQLOC ;RESTORE IRQ ADDR
- LDA IRQSAVE+1
- STA IRQLOC+1
- LDA #0
- STA IRQSAVE+1
- LDX SLOTN0
- STA SHBYT,X ;HANG UP MODEM
- LDA #$0C
- STA COM,X
- LDA #$18
- STA XMTBYT,X ;TURN OFF XMITTER
- STA XMTSAV
- LDA #$A1
- STA SQUBYT,X
- LDX #HANGMSG\
- JSR PRMSGY ;PRINT MESSAGE
- HANGUP2 LDA #2 ;[1.2]
- STA CARRFLG
- RTS
- ;
- ;
- SENDBYT TAX
- LDA STATUS
- ADDR6 EQU *-2
- AND #$10 ;READY TO XMIT?
- BEQ NOTDRE ;NO, BR
- TXA
- AND #$7F
- JSR DOPARITY
- STA OUTDAT ;XMIT IT
- ADDR7 EQU *-2
- LDA #$01
- NOTDRE RTS
- ;
- ;
- COMCMD BEQ HANGUP
- CMP #$0C
- BEQ SENDBRK
- CMP #$0B
- BEQ CHGBAUD
- CMP #$91
- BEQ START
- CMP #$93
- BEQ STOP
- JSR PRBYTE
- LDX #CMDMSG\
- ;
- PRMSGY LDY #MSGS^
- JSR PRMSG
- LDA #0
- RTS
- ;
- ;
- START SEI
- JSR SENDBYT ;SEND ^Q
- BEQ START2 ;NOT SENT, BR
- LDA #0
- STA STOPREQ ;CLEAR FLAGS
- STA STOPACK
- LDA #1
- CLI
- RTS
- ;
- START2 LDA #0
- STA STOPREQ
- CLI
- STARTLP JSR CHKXMIT
- LDA STOPACK
- BNE STARTLP
- ;[1.2] LDA #1
- ;[1.2] RTS
- BEQ CHGBRET ;[1.2]
- ;
- STOP SEI
- JSR SENDBYT ;SEND ^S
- BEQ STOP2 ;NOT SENT, BR
- LDA #1
- STA STOPACK ;SET FLAGS
- STA STOPREQ
- CLI
- RTS
- ;
- STOP2 LDA #1
- STA STOPREQ
- CLI
- STOPLP JSR CHKXMIT
- LDA STOPACK
- BEQ STOPLP
- RTS
- ;
- CHGBAUD LDA IRQSAVE+1 ;MODEM INITTED?
- BEQ CHGBRET ;NO, BR
- SEI
- JSR SETBAUD
- CLI
- CHGBRET LDA #1
- CHGBRTS RTS
- ;
- SENDBRK SEI
- LDY SLOTN0
- LDA #$02
- STA COM,Y ;SET BREAK
- LDA #$E9
- STA DLYCNT
- L7DE9 LDA BRKLEN
- JSR DELAY ;WAIT A WHILE
- DEC DLYCNT
- BNE L7DE9
- LDA #$06
- STA COM,Y ;CLEAR BREAK
- CLI
- ;[1.2] LDA #$01
- ;[1.2] RTS
- BNE CHGBRET ;[1.2]
- ;
- SETBAUD LDA #8
- CMP BAUD ;BAUD <= 8?
- BCS BAUDOK ;YES, BR
- STA BAUD
- ;
- BAUDOK LDX SLOTN0
- LDA #$A1
- STA SQUBYT,X
- ;
- LDA EXTFLAG
- BNE BEXT
- ;
- LDA BAUD
- CMP #8
- BCS B1200
- ;
- LDA #0 ;0-600 BAUD
- STA DEVBYT,X
- LDA #$11
- BNE B312
- ;
- BEXT LDA #$05 ;EXT
- BNE B12A
- ;
- B1200 LDA #$21 ;1200 BAUD
- STA SQUBYT,X
- LDA #$0A
- B12A STA DEVBYT,X
- LDA #$18
- B312 STA XMTBYT,X
- STA XMTSAV
- LDA BAUD
- ASL A
- ASL A
- ASL A
- ASL A
- ADC BAUD
- EOR #$FF
- ADC #$89
- STA SPDBYT,X
- ;
- LDA #$03
- STA CON,X
- ;
- SETREC LDA #$65
- LDX BAUD
- CPX #4
- BNE SETREC2
- LDA #$2D ;45.5 BAUD (TDD)
- SETREC2 LDX SLOTN0
- STA RECBYT,X
- ;
- RTS
- ;
- NOP ;AN EXTRA BYTE! [1.2]
- ;
- ; LST ON
- ;
- PGMEND EQU *
- RECVBUF DS $700
- XMITBUF DS $100
- ;
- BUFEND EQU *
- ;
- ; LST OFF
-